Спринт 2/18 → Тема 3/6: Настройка окружения: Python, IDE, venv → Урок 6/6
Работа в виртуальном окружении
Проверим на практике, как работает виртуальное окружение. Если venv вашего проекта деактивировано, активируйте его, введите команду:
BASH
Протестируем работу виртуального окружения на библиотеке
prettytable. Эта библиотека выводит в терминал данные в табличном виде. Установите библиотеку через терминал, используя команду:
BASH
По этой команде запустится менеджер пакетов pip, он найдёт, скачает и установит библиотеку
prettytable на компьютер, в виртуальное окружение проекта. Служебные файлы prettytable будут сохранены в директории Dev/first_project/venv.После установки библиотеки вы можете увидеть в терминале сообщение с рекомендацией обновить версию pip:
Это требование не обязательное, но обновив версию пакетного менеджера, вы обновите и ссылки на новые версии библиотек и пакетов. Чтобы обновить пакетный менеджер, введите команду:
BASH
Теперь посмотрите, какие библиотеки установлены в ваше виртуальное окружение:
BASH
В терминале выведется список установленных библиотек, в числе которых должна быть и
prettytable.Займёмся кодом. Откройте файл practicum.py: дважды щёлкните на название файла в меню слева:
Замените код в файле на следующий:
PYTHON
Сохраните изменения в файле и запустите программу удобным способом: либо нажмите кнопку Run Python File в правом верхнем углу редактора кода, либо введите в терминал команду:PYTHON
В терминале выведется табличка:
Если в терминал вывелась таблица, это значит, что библиотека была установлена и работает внутри вашего виртуального окружения.
Поделиться виртуальным окружением
Представьте, что у вас есть готовый проект, и вам нужно передать его коллегам.
Количество устанавливаемых библиотек и пакетов за время разработки может сильно разрастись. Просто передать директорию venv/ проекта — не самый хороший вариант. Директория может быть достаточно «тяжёлой». И что самое неприятное — на разных операционных системах библиотеки могут работать некорректно или не работать вообще.
Чтобы таких проблем не было, нужно передавать проект вместе с конкретными версиями библиотек.
В виртуальном окружении проекта first_project выполните команду:
BASH
По этой команде пакетный менеджер в директории проекта создаст файл requirements.txt, его ещё называют «файл зависимостей». В этот файл будут построчно записаны имена пакетов и библиотек с указанием их версий: всё, что вы устанавливали в виртуальное окружение проекта.
💡 В команде указан символ
> — он используется для переключения потоков вывода. Без этого знака и последующего имени файла, результат выполнения команды будет выведен в терминал, но вам нужно сохранить названия библиотек в файл. Поэтому мы и переключаем вывод по умолчанию на запись в него с указанным именем.Содержимое файла будет выглядеть приблизительно так:
Чтобы смоделировать установку пакетов из файла requrements.txt, удалите текущее виртуальное окружение — введите в терминал две команды:
BASH
Теперь создайте новое виртуальное окружение и активируйте его.
После того как активируете новое виртуальное окружение, выполните команду:
BASH
Пакетный менеджер построчно считает файл зависимостей и установит указанные в нём библиотеки.
Итог
Виртуальное окружение — это инструмент, который позволит вам запускать разные проекты изолированно друг от друга. С ним неожиданные ошибки из-за разных версий библиотек в соседних проектах вам будут не страшны!